﻿using AbstractBugTracker;
using NUnit.Framework;

namespace Tests
{
    [TestFixture]
    public sealed class BugRefUtilsTests
    {
        [Test]
        // easy ones
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.ClrMetaData.ClrAssemblyMetaData")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.Database")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.DatabaseFactory")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.DatabaseFromScriptObjectResolver")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.DatabaseHelperLiveDB")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.DatabaseHelperResultSetDataReader")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.Datatype")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.FileGroups")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.ForeignKey")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.FullTextStopwords")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.PageReaderFromLive.PageReaderLoader")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.PageReaderFromLive.SysObjValuesReader")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.PartitionScheme")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.ReadFromFolder.DatabaseFromFolderFactory")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.ReadFromFolder.FolderDataSource")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.ReadFromFolder.ReadScriptAnalysis")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.ReadFromFolder.ScriptDatabaseInformation")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.ReadFromFolder.ScriptSynchronizationActionRewrite")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.ReadFromFolder.ScriptSynchronizationActionWrite")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.Service")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.SqlScriptsHelper")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.Trigger")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.Utils")]
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.Work")]
        [TestCase("[RedGate.SQLCompare.Rewriter]RedGate.SQLCompare.Rewriter.Analysis.BufferedTextReader")]
        [TestCase("[RedGate.SQLDataCompare.Engine]RedGate.SQLDataCompare.Engine.ComparisonSession")]
        [TestCase("[RedGate.SQLDataCompare.Engine]RedGate.SQLDataCompare.Engine.FolderReader.FolderSQLWriter")]
        [TestCase("[RedGate.SQLDataCompare.Engine]RedGate.SQLDataCompare.Engine.FolderReader.FolderStructure")]
        [TestCase("[RedGate.SQLDataCompare.Engine]RedGate.SQLDataCompare.Engine.FolderReader.ScriptFileIndex")]
        [TestCase("[RedGate.SQLDataCompare.Engine]RedGate.SQLDataCompare.Engine.FolderReader.SQLDataCompareRow")]
        [TestCase("[RedGate.SQLDataCompare.Engine]RedGate.SQLDataCompare.Engine.FolderReader.SQLDataCompareScriptsDataReader")]
        [TestCase("[RedGate.SQLDataCompare.Engine]RedGate.SQLDataCompare.Engine.ResultsStore.Store")]
        [TestCase("[RedGate.SQLDataCompare.Engine]RedGate.SQLDataCompare.Engine.SqlProviderHelper")]
        [TestCase("[RedGate.SQLDataCompare.Engine]RedGate.SQLDataCompare.Engine.SqlWriter")]
        [TestCase("[RedGate.SQLDataCompare.Engine]RedGate.SQLDataCompare.Engine.StringWriter")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLPrompt.CommonUI.Forms.CandidateList.BeakyManualToolTip")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLPrompt.CommonUI.Forms.CandidateList.ToolTipContents")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.ConnectBase")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.BaseControl")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.CancellableConfigureDataGridControl")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.ChangeSetViewerOnRefreshControl")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.DatabaseSelectionNonEmptyControl")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.DifferencesGrid.BaseObjectGridControl")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.HistoryGridChangeTypeCell")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.HistoryGridControl")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.LicensedMainPaneControl")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.MainPaneControl")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.ObjectExplorerTooltipContentsControl")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.ToRetrieveChangeSetViewerControl")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Events.EventAggregator")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.ExceptionRewriter")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Forms.ObjectExplorerTooltipForm")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.ObjectExplorerMenu.ActivateToolMenuItem")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.ObjectExplorerNode")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.ObjectFactory")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.SingleInstanceCheck")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.UiUtils")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.ViewController")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.VSCommandUsageLogger")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.WindowStack")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.TFS.TfsWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.TFS2005.TfsRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsClientUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsHistoryWrapping")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsLogging")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsServerPool")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.Aver")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.BaseDifference")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.BoundDatabase")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ChangeSet")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.CompareEngineUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.Controller")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DatabaseConnection")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DatabaseObjectIdEqualityComparer")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DatabaseObjectPathUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DatabasePolling.DatabasePollingManager")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DatabasePolling.ServerParsers.DefaultTraceParser")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DataCompareEngineUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DataDifference")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.Dependencies")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DiffBuilder")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DiffBuilding.CommitDataRemovalProtoDifference")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.Difference")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.EngineUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ExtensionMethods.UriExtensions")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.FileUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.Hash")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.LicensingUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.LinkedDatabase")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.LinkedDatabaseStore")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.LoggingWrapper.LogManager")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.LoggingWrapper.RedGateLoggerAdapter")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.NinjectExtensions.OrderedParameterKernel")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ObjectExplorerState.DatabaseState")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ObjectExplorerState.ObjectExplorerStateService")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ObjectFactory")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.OptionsHandling.OptionsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.PersistenceManager")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.PersistentWorkspace")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ReflectionUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SqlQueries")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Common.HistoryEntry")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Common.SrcCRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Evaluation.EvaluationRepositoryProvider")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.ExceptionRewriter")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Generic.GenericLocation")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Generic.GenericRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnLocation")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.SvnServer")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.TFS.TfsLocation")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.UriUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultAuthenticationWrapper")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultClientUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vss.VssInterface")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SscLicense")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SvnFromArchive")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.TableDataConfig")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.TableDataConfigStoreStore")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ThreadPool")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ThreeWayDiffBuilder")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ToRetrieveChangeSet")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ToRetrieveChangeSetBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ToRetrieveChangeSetNoOpsOnly")]
        [TestCase("[RedGate.SQLSourceControl.MasterComAddIn]RedGate.SQLSourceControl.MasterComAddIn.Connect")]
        [TestCase("[RedGate.SQLSourceControl.ObjectDifferencePane]RedGate.SQLSourceControl.ObjectDifferencePane.ColoringLexer")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2005]RedGate.SQLSourceControl.CommonUI.Shared.ObjectExplorerShared")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2005]RedGate.SQLSourceControl.CommonUI.Shared.ObjectExplorerSharedExceptR2")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2005ServicePack2AndAbove]RedGate.SQLSourceControl.SSMS2005ServicePack2AndAbove.Menu.MenuManager")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.CommonUI.Shared.ConnectShared")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.CommonUI.Shared.IconHandlerProxyShared")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.CommonUI.Shared.ObjectExplorerShared")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.SSMS2008.IconHandlerProxy")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.SSMS2008.Menu.MenuManager")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008R2]RedGate.SQLSourceControl.CommonUI.Shared.ConnectShared")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008R2]RedGate.SQLSourceControl.SSMS2008R2.Connect")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008R2]RedGate.SQLSourceControl.SSMS2008R2.ObjectExplorer")]
        [TestCase("[SmartAssembly.ReportException]SmartAssembly.ReportException.ExceptionReporting")]
        [TestCase("RedGate.Shared.Utils.DisposableBase")]
        [TestCase("SharpSvn.SvnClientArgs")]
        [TestCase("SmartAssembly.SmartExceptionsCore.UnhandledException.")]
        // generic
        [TestCase("[RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.KeyedCollection`1")]
        [TestCase("[RedGate.SQLCompare.Rewriter]RedGate.SQLCompare.Rewriter.Analysis.Analyser`1")]
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Controls.CancellableOperationPostProcesser`2")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.Cancellables.MutexedCancellableOperation`1")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.Memoization.Handle`1")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.TwoWayWeakDictionary`2")]
        // inner classes
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DiffBuilder/ThreeWayDiffBuildSession")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DiffBuilder/TwoWayDiffBuildSession")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.Memoization.ApproximateDirectoryCheckSum/FileInfo")]
        // inner inner classes
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DiffBuilder/ThreeWayDiffBuildSession/ConflictedDataDiffBundle")]
        // generic inner classes
        [TestCase("[RedGate.SQLSourceControl.CommonUI]RedGate.SQLSourceControl.CommonUI.Events.EventAggregator/Inner`1")]
        public void MethodTypeNameIsUnchanged(string methodTypeName)
        {
            Assert.AreEqual(methodTypeName, BugRefUtils.MapMethodTypeName(methodTypeName));
        }

        [Test]
        // lambda
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.TFS2005.TfsClientUtils/<>c__DisplayClass2", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.TFS2005.TfsClientUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsClientUtils/<>c__DisplayClass5", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsClientUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass3", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsClientUtils/<>c__DisplayClass2", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsClientUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsClientUtils/<>c__DisplayClass5", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsClientUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations/<>c__DisplayClass3", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations/<>c__DisplayClass23", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass3", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass8", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClassb", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass30", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass38", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations/<>c__DisplayClass8", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations/<>c__DisplayClass23", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsClientUtils/<>c__DisplayClass2", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsClientUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsClientUtils/<>c__DisplayClass5", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsClientUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations/<>c__DisplayClass8", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations/<>c__DisplayClass19", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations/<>c__DisplayClass21", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations/<>c__DisplayClass23", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations/<>c__DisplayClass3", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass3", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass8", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClassb", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass28", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass30", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.Cancellables.CancellableOperationBase/<>c__DisplayClass2", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.Cancellables.CancellableOperationBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ChangeSet/<>c__DisplayClass5", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ChangeSet")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.CompareEngineUtils/<>c__DisplayClass1", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.CompareEngineUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DataCompareEngineUtils/<>c__DisplayClass1", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DataCompareEngineUtils")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Common.SrcCRemoteOperations/<>c__DisplayClass4", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Common.SrcCRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnRemoteOperations/<>c__DisplayClass1", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClassa", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClass10", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClass11", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClass15", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClass16", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClass17", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClass19", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClass1f", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultRemoteOperations/<>c__DisplayClass1a", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultWorkspaceOperations/<>c__DisplayClass1", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultWorkspaceOperations/<>c__DisplayClass5", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultWorkspaceOperations/<>c__DisplayClass16", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vault.VaultWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vss.VssWorkspaceOperations/<>c__DisplayClass55", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Vss.VssWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ThreeWayDiffBuilder/<>c__DisplayClass4", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ThreeWayDiffBuilder")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ToRetrieveChangeSet/<>c__DisplayClass1c", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ToRetrieveChangeSet")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ToRetrieveChangeSet/<>c__DisplayClass1d", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ToRetrieveChangeSet")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ToRevertChangeSet/<>c__DisplayClasse", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ToRevertChangeSet")]
        [TestCase("[RedGate.SQLSourceControl.MasterComAddIn]RedGate.SQLSourceControl.MasterComAddIn.Connect/<>c__DisplayClass3", "[RedGate.SQLSourceControl.MasterComAddIn]RedGate.SQLSourceControl.MasterComAddIn.Connect")]
        [TestCase("[RedGate.SQLSourceControl.MasterComAddIn]RedGate.SQLSourceControl.MasterComAddIn.Connect/<>c__DisplayClass6", "[RedGate.SQLSourceControl.MasterComAddIn]RedGate.SQLSourceControl.MasterComAddIn.Connect")]
        [TestCase("[RedGate.SQLSourceControl.MasterComAddIn]RedGate.SQLSourceControl.MasterComAddIn.Connect/<>c__DisplayClass12", "[RedGate.SQLSourceControl.MasterComAddIn]RedGate.SQLSourceControl.MasterComAddIn.Connect")]
        [TestCase("[RedGate.SQLSourceControl.MasterComAddIn]RedGate.SQLSourceControl.MasterComAddIn.Connect/<>c__DisplayClass15", "[RedGate.SQLSourceControl.MasterComAddIn]RedGate.SQLSourceControl.MasterComAddIn.Connect")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2005]RedGate.SQLSourceControl.CommonUI.Shared.NotifyItemChangedWithSync/<>c__DisplayClass7", "[RedGate.SQLSourceControl.SSMS2005]RedGate.SQLSourceControl.CommonUI.Shared.NotifyItemChangedWithSync")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2005]RedGate.SQLSourceControl.CommonUI.Shared.NotifyItemChangedWithSync/<>c__DisplayClasse", "[RedGate.SQLSourceControl.SSMS2005]RedGate.SQLSourceControl.CommonUI.Shared.NotifyItemChangedWithSync")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2005]RedGate.SQLSourceControl.CommonUI.Shared.ObjectExplorerShared/<>c__DisplayClassf", "[RedGate.SQLSourceControl.SSMS2005]RedGate.SQLSourceControl.CommonUI.Shared.ObjectExplorerShared")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.CommonUI.Shared.IconHandlerProxyShared/<>c__DisplayClass8", "[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.CommonUI.Shared.IconHandlerProxyShared")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.CommonUI.Shared.NotifyItemChangedWithSync/<>c__DisplayClass7", "[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.CommonUI.Shared.NotifyItemChangedWithSync")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.CommonUI.Shared.NotifyItemChangedWithSync/<>c__DisplayClasse", "[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.CommonUI.Shared.NotifyItemChangedWithSync")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.CommonUI.Shared.ObjectExplorerShared/<>c__DisplayClassf", "[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.CommonUI.Shared.ObjectExplorerShared")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.SSMS2008.ObjectExplorer/<>c__DisplayClass2", "[RedGate.SQLSourceControl.SSMS2008]RedGate.SQLSourceControl.SSMS2008.ObjectExplorer")]
        [TestCase("[RedGate.SQLSourceControl.SSMS2008R2]RedGate.SQLSourceControl.CommonUI.Shared.IconHandlerProxyShared/<>c__DisplayClass8", "[RedGate.SQLSourceControl.SSMS2008R2]RedGate.SQLSourceControl.CommonUI.Shared.IconHandlerProxyShared")]
        // generic lambda
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ChangeSet/<>c__DisplayClass10`1", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ChangeSet")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ChangeSet/<>c__DisplayClass13`1", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ChangeSet")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ChangeSet/<>c__DisplayClass15`1", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ChangeSet")]
        // nested lambda
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass18/<>c__DisplayClass1a", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations/<>c__DisplayClassd/<>c__DisplayClassf", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations/<>c__DisplayClass12/<>c__DisplayClass14", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations/<>c__DisplayClass18/<>c__DisplayClass1a", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass12/<>c__DisplayClass14", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass18/<>c__DisplayClass1a", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2008]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations/<>c__DisplayClass12/<>c__DisplayClass14", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass10/<>c__DisplayClass12", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass18/<>c__DisplayClass1a", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase/<>c__DisplayClass1b/<>c__DisplayClass1d", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2010]RedGate.SQLSourceControl.Engine.SrcC.TFS.Shared.TfsWorkspaceOperationsBase")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnRemoteOperations/<>c__DisplayClass1a/<>c__DisplayClass1c", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnRemoteOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClass31/<>c__DisplayClass33", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClass39/<>c__DisplayClass3b", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClass3f/<>c__DisplayClass41", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations/<>c__DisplayClass43/<>c__DisplayClass45", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Svn.SvnWorkspaceOperations")]
        // enumerator
        [TestCase("[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.Shared.RequireAllMyTfsReferencesAttribute/<get_Directories>d__0", "[RedGate.SQLSourceControl.Engine.SrcC.TFS2005]RedGate.SQLSourceControl.Engine.SrcC.Shared.RequireAllMyTfsReferencesAttribute/get_Directories")]
        [TestCase("[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DiffBuilder/ThreeWayDiffBuildSession/<GetDataDiffs>d__1e", "[RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DiffBuilder/ThreeWayDiffBuildSession/GetDataDiffs")]
        public void MethodTypeNameIs(string methodTypeName, string expectedMethodTypeName)
        {
            Assert.AreEqual(expectedMethodTypeName, BugRefUtils.MapMethodTypeName(methodTypeName));
        }


        [Test]
        [TestCase("CheckDisposed()")]
        [TestCase("ctor(Int32 , Object[] , Int32 , Exception , Int32 )")]
        [TestCase("HandleResult(SvnClientContext client, SvnException error)")]
        [TestCase("internal !!0 Get(object[] ctorArgs);")]
        [TestCase("internal bool ConfirmDependencies(ISourceControlUserCallBacks callbacks, Dependencies wrappedDeps);")]
        [TestCase("internal bool TryGetLinkedDatabase(IDatabaseId databaseId, ILinkedDatabase&  linkedDatabase);")]
        [TestCase("internal bool TryGetObjectTypeForUrnType(INodeInformation info, string urnType, ObjectType&  objectType);")]
        [TestCase("internal bool TryGetSelectedNode(INodeInformation&  nodeInfo);")]
        [TestCase("internal ColumnValuePairs get_ColumnValues();")]
        [TestCase("internal ConflictedDataDiffBundle(IDatabaseObject leftObject, IList`1<class [mscorlib]System.IO.FileInfo> leftPaths, IDatabaseObject rightObject, IList`1<class [mscorlib]System.IO.FileInfo> rightPaths, IDatabaseObject conflictLeft, IList`1<class [mscorlib")]
        [TestCase("internal FilesCollection GetChangedFiles(ScriptSynchronizationActions scriptActions, Differences differences);")]
        [TestCase("internal IconHandlerProxy(IIconHandler iconHandler, IUIObjectTypeInfo uiObjectTypeInfo);")]
        [TestCase("internal INodeInformation GetNodeContext(INodeInformation someContext);")]
        [TestCase("internal int PendEditInner(string[] paths, RecursionType recursionType, string fileType, LockLevel lockLevel);")]
        [TestCase("internal IVsWindowFrame CreateToolWindow(IVsWindowPane vsWindowPane, string caption, Guid windowPaneGuid);")]
        [TestCase("internal MutexedCancellableOperation`1(CancellableOperationDelegate<!0> progressTaskMethod, object workingLock, string acquiringLockMessage);")]
        [TestCase("internal object GetFormattedValue(object value, int rowIndex, DataGridViewCellStyle&  cellStyle, TypeConverter valueTypeConverter, TypeConverter formattedValueTypeConverter, DataGridViewDataErrorContexts context);")]
        [TestCase("internal ObjectExplorerShared(IObjectExplorerStateService objectExplorerStateService);")]
        [TestCase("internal ScriptSynchronizationActions GetScriptActions(ICancellableOperationStatus status, WarningsAccepter accepter, ISourceControlUserCallBacks callBacks);")]
        [TestCase("internal static bool DoesFileExistsOrHasBeenMigrated(string fileName, string oldFileName);")]
        [TestCase("internal static DirectoryInfo ToDirectoryInfo(Uri uri);")]
        [TestCase("internal static EvaluationRepository CreateNewEvaluationRepository(string repositoryName);")]
        [TestCase("internal static IBackupConnection LiveConnection(SqlConnection sqlConn, SQLVersion version);")]
        [TestCase("internal static IEnumerable`1<valuetype [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ObjectType> GetObjectTypesForScriptFolder(string scriptFolder);")]
        [TestCase("internal static ILinkedDatabase CreateLinkedDatabaseFromRemote(ICancellableOperationStatus status, IDatabaseId databaseId, ISrcCLocation location, ISourceControlUserCallBacks callBacks);")]
        [TestCase("internal static ILinkedDatabase CreateLinkedDatabaseWithCommit(ICancellableOperationStatus status, string logMessage, IDatabaseId databaseId, ISrcCLocation location, ISourceControlUserCallBacks callBacks);")]
        [TestCase("internal static LinkedDatabaseStore LinkedDatabaseStoreFactory();")]
        [TestCase("internal static ObjectType GetObjectType(IDatabaseObject databaseObject);")]
        [TestCase("internal static Pair`2<class [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DatabaseObjectId><valuetype [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DifferenceTypeInIsolation> WrapCompareDifference(Difference compareD")]
        [TestCase("internal static PathSet GetChangedFiles(ScriptSynchronizationActions schemaActions, string directory, SqlProvider dataActions);")]
        [TestCase("internal static SscLicense GetLicense();")]
        [TestCase("internal static Stack`1<System.String[]> GetDependenciesFromExpression(string sql);")]
        [TestCase("internal static string QualifyName(string name);")]
        [TestCase("internal static string RewriteConstraintText(string text1, bool ss2k5);")]
        [TestCase("internal static string SQLString(string value);")]
        [TestCase("internal static TableDifferences GetDependencyOrderAndRemoveUnselectedTableDifferences(IWriter writer, ComparisonSession session, bool runOnTwo);")]
        [TestCase("internal static Uri GetCannonUri(string uri);")]
        [TestCase("internal static void CheckCanInitializeWorkspaceFromRemote(IList`1<System.String> paths);")]
        [TestCase("internal static void CheckCanInitializeWorkspaceWithCommit(IList`1<System.String> paths);")]
        [TestCase("internal static void Lex(IFormattableCharSource charSource);")]
        [TestCase("internal static void RunWithConvertException(Action action);")]
        [TestCase("internal static void SendMessage(!0 message);")]
        [TestCase("internal string GetNameForCommand(Guid commandGuid, uint commandId);")]
        [TestCase("internal SysObjValuesReader(SqlConnection conn, SQLVersion version);")]
        [TestCase("internal TableDataConfig(TableMapping tableMapping, bool selected);")]
        [TestCase("internal TfsWorkspaceOperations(string rootPath, TfsLocation projectRoot, ICredentialsStore credentialsStore, TfsServerPool serverPool);")]
        [TestCase("internal Uri get_RepositoryUrl();")]
        [TestCase("internal void Add(!0 value);")]
        [TestCase("internal void AddScriptFileIndexRow(string[] indexColumns, object[] indexValues, uint fileOffset, byte fileNumber);")]
        [TestCase("internal void CleanWithoutTakingWriteLock(ICancellableOperationStatus status, IReadOnlySourceControlServerCallBacks callBacks);")]
        [TestCase("internal void Close();")]
        [TestCase("internal void CompareWorkspaces();")]
        [TestCase("internal void CompareWorkspaces(SourceControlOperation operation);")]
        [TestCase("internal void Dispose(bool disposing);")]
        [TestCase("internal void OnBoundValueChanged(object sender, EventArgs e);")]
        [TestCase("internal void OnPropertyChanged(string propertyName);")]
        [TestCase("internal void PatchUpAfterDeserialization(Database database);")]
        [TestCase("internal void PatchUpAfterDeserialization(IDatabaseObject parent);")]
        [TestCase("internal void Populate();")]
        [TestCase("internal void SelectDependencies();")]
        [TestCase("internal void SetToolTip(ObjectExplorerNodeVisualCue nodeVisualCue);")]
        [TestCase("internal void VerifyNode(INodeInformation node, INodeInformation&  nodeInfo);")]
        [TestCase("internal void VerifyNode(INodeInformation notificationContext, INodeInformation&  nodeInfo);")]
        [TestCase("internal void WriteToFile(ScriptDatabaseInformation dbInfo, string fileName, ScriptableDatabaseObject o, Options options, ProgressTracker progressTracker);")]
        [TestCase("private !!0 BuildSafe(ICancellableOperationStatus status, Func`1<!!0> innerBuild);")]
        [TestCase("private !!0 WrapThreeWayDiffBuildSession(Func`2<class [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DiffBuilder/ThreeWayDiffBuildSession><class [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DiffBuilder/TryGetter`1<!!0")]
        [TestCase("private bool CalculateWorkSetDependencyForToAssemblies(Differences differences, bool runOnTwo, bool doTriggers);")]
        [TestCase("private bool MoveNext();")]
        [TestCase("private bool TryGetBoundDatabaseInner(DatabaseConnection databaseConnection, BoundDatabase&  boundDatabase);")]
        [TestCase("private bool TryGetSelectedNode(INodeInformation&  nodeInfo);")]
        [TestCase("private bool TryGetStatus(string path, SvnStatusEventArgs&  status);")]
        [TestCase("private bool TryLogin(string username, string password);")]
        [TestCase("private Command CreateNamedCommand(string commandId, string commandButtonText, string commandButtonTooltip, CommandExecHandler execHandler, SatelliteDllResource imageResource);")]
        [TestCase("private DatabaseHelperResultSet DoQuery(string strSQL);")]
        [TestCase("private DatabaseState GetDatabaseStateOrThrow(DatabaseConnection databaseConnection);")]
        [TestCase("private Dictionary`2<class [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DatabaseObjectId><System.String> GetAuditInformation();")]
        [TestCase("private FilesToUpgrade GetFilesToUpgrade(ScriptSynchronizationActions scriptActions);")]
        [TestCase("private FilesToUpgrade GetFilesToUpgrade(ScriptSynchronizationActions scriptActions, Differences differences);")]
        [TestCase("private ICancellableOperation GetLinkingOperation(string name, DatabaseConnection databaseConnection, LinkedDatabaseGetter linkedDatabaseGetter, ISourceControlConnectionCallBacks connectionCallbacks);")]
        [TestCase("private IDictionary`2<System.String><class [mscorlib]System.Collections.Generic.ICollection`1<class [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DatabasePolling.DatabasePollResult>> GetEntries(ICollection`1<System.String> databaseNames")]
        [TestCase("private IList`1<class [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.TableDataConfig> GetTableDataConfig(ICancellableOperationStatus status);")]
        [TestCase("private IWin32Window GetParent(Form newForm);")]
        [TestCase("private List`1<class [SharpSvn]SharpSvn.SvnLogEventArgs> GetPeggedLog(Uri target, long peggedRevision);")]
        [TestCase("private long GetLocalRevision(string path);")]
        [TestCase("private long PerformUpgrade(PathSet paths, SvnRevision revision, SvnDepth svnDepth, EventHandler`1<class [SharpSvn]SharpSvn.SvnNotifyEventArgs> notifyEventHandler, EventHandler`1<class [SharpSvn]SharpSvn.SvnConflictEventArgs> conflictEventHandler);")]
        [TestCase("private static !!0 ExecuteCommand(string connectionString, string command, string parameterName, string parameterValue);")]
        [TestCase("private static !!0 GenericFactory(string fileName, string oldFileName, string type);")]
        [TestCase("private static !!0 GenericFactory(string fileName, string type);")]
        [TestCase("private static bool TryExtractArchive(string archivePath, long revision, string outputPath);")]
        [TestCase("private static bool TryGetBetterException(Failure failure, Exception inException, Exception&  outException);")]
        [TestCase("private static bool TryGetFullPath(IDatabaseObject dbObject, string&  path);")]
        [TestCase("private static ClassInfo ConstructClass(Type baseType);")]
        [TestCase("private static Dictionary`2<class [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DatabaseObjectId><class [RedGate.SQLCompare.Engine]RedGate.SQLCompare.Engine.Difference> IndexDifferences(IEnumerable`1<class [RedGate.SQLCompare.Engine]Red")]
        [TestCase("private static FieldInfo GetFieldInfo(!!0 instance, string field);")]
        [TestCase("private static FileInfo[] GetScriptFolderFilesForCompare(IEnumerable`1<System.String> dataFileNames, string directory, long&  totalFileSize);")]
        [TestCase("private static Hash GetIconHash(Icon icon);")]
        [TestCase("private static Icon GetCompositeInternal(Icon icon, Image blob);")]
        [TestCase("private static ILinkedDatabase CreateLinkedDatabaseWithCommitVerified(ICancellableOperationStatus status, string logMessage, IDatabaseId databaseId, ISourceControlUserCallBacks callBacks, IWorkspaceFactory srcC);")]
        [TestCase("private static IList`1<System.String> GetVerifiable(IEnumerable`1<class [Microsoft.TeamFoundation.VersionControl.Client]Microsoft.TeamFoundation.VersionControl.Client.Item> items, string prefixToRemove);")]
        [TestCase("private static List`1<System.String> GetVerifiable(IEnumerable`1<class [Microsoft.TeamFoundation.VersionControl.Client]Microsoft.TeamFoundation.VersionControl.Client.Item> items, string prefixToRemove);")]
        [TestCase("private static long HandleUpdateResult(bool result, int numUpdates, SvnRevision requestedRevision, SvnUpdateResult svnUpdateResult);")]
        [TestCase("private static long InnerGetFolderVersionForTxDate(ClientInstance client, VaultDateTime txDate, string projectRoot);")]
        [TestCase("private static MethodInfo GetAddListenerOpenMethod();")]
        [TestCase("private static object GetConstantValue(Constant c);")]
        [TestCase("private static PropertyInfo GetPropertyInfo(!!0 instance, string property);")]
        [TestCase("private static string GetFullPath(IDatabaseObject dbObject);")]
        [TestCase("private static string GetSQL(ForeignKey key);")]
        [TestCase("private static Type GetTypeInternal(Pair`2<System.String><System.String> assemblyNameTypeName);")]
        [TestCase("private static void (Exception);")]
        [TestCase("private static void AddSqlComment(IWriterBase writer, bool showComments);")]
        [TestCase("private static void CheckCanCreateFromRemote(IList`1<System.String> paths);")]
        [TestCase("private static void CheckCanCreateWithCommit(IList`1<System.String> paths);")]
        [TestCase("private static void CheckDisposed();")]
        [TestCase("private static void CreateInternal();")]
        [TestCase("private static void CreateInternal(IModule[] testModules);")]
        [TestCase("private static void DoActionWithCancel(ICancellableOperationStatus status, ICancellable database, Action action);")]
        [TestCase("private static void GenericPersist(string fileName, string type, !!0 store);")]
        [TestCase("private static void HandleUpdateResult(bool result, int numUpdates, long revision, SvnUpdateResult svnUpdateResult);")]
        [TestCase("private static void InitBindings();")]
        [TestCase("private static void OpenConnection(SqlConnection connection);")]
        [TestCase("private static void ParameterProcessDefault(Parameter param, ProcedureParameter parameter);")]
        [TestCase("private static void PopulateSystemStoplist();")]
        [TestCase("private static void RecursionLimit(object sender, RecursionEventArgs args);")]
        [TestCase("private static void ThrowWithBestStackTrace(Exception exception);")]
        [TestCase("private string GetFileAtVersion(string path, long version, long parentVersion, bool getFolder);")]
        [TestCase("private ThreeWayDiff Build(ICancellableOperationStatus status, IReadOnlySourceControlServerCallBacks sourceControlUserCallBacks, ScriptDatabaseInformation folderOptions, Options comparisonOptions);")]
        [TestCase("private ThreeWayDiff GetThreeWayDiff(ICancellableOperationStatus status, IReadOnlySourceControlServerCallBacks sourceControlUserCallBacks);")]
        [TestCase("private ToCommitChangeSet GetNewCommitableChanges(ICancellableOperationStatus status, IReadOnlySourceControlServerCallBacks sourceControlUserCallBacks);")]
        [TestCase("private Triple`3<class [Microsoft.TeamFoundation.Client]Microsoft.TeamFoundation.Client.TeamFoundationServer><class [Microsoft.TeamFoundation.VersionControl.Client]Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer><class [RedGate.SQLSour")]
        [TestCase("private void AddChild(HierarchyObject hierarchy);")]
        [TestCase("private void AddFileOrDirectory(string path);")]
        [TestCase("private void AddPaths(ICancellableOperationStatus status, IEnumerable`1<System.String> paths, ISourceControlUserCallBacks callBacks);")]
        [TestCase("private void BindDatabase();")]
        [TestCase("private void BufferUpToCharacter(int charNum);")]
        [TestCase("private void CalculateDataNoOps();")]
        [TestCase("private void CancellableConfigureDataGridControl_BoundValueChanged(object sender, EventArgs e);")]
        [TestCase("private void DeleteAllCommands();")]
        [TestCase("private void DifferencePropsReportUsage(AssociatedUser user);")]
        [TestCase("private void GetTableReaders(ITableReader&  reader1, ITableReader&  reader2, ISQLProvider provider1, ISQLProvider provider2, TableMapping mapping);")]
        [TestCase("private void Init();")]
        [TestCase("private void InitializeGrids();")]
        [TestCase("private void LogAddIns();")]
        [TestCase("private void MakeVisible();")]
        [TestCase("private void PopulateConstraints();")]
        [TestCase("private void PopulateForeignKeys();")]
        [TestCase("private void PopulateIndexes();")]
        [TestCase("private void PopulateObjectText(DBPopulationOptions popOptions, bool isForDataCompare);")]
        [TestCase("private void PopulateSqlServerPost2kStatistics();")]
        [TestCase("private void PopulateTableColumns();")]
        [TestCase("private void PopulateTables();")]
        [TestCase("private void PopulateViews();")]
        [TestCase("private void ProcessAssemblyDeps();")]
        [TestCase("private void ProcessFile(FileInfo file);")]
        [TestCase("private void ProcessNodeCreateIndex(Element node);")]
        [TestCase("private void RedGate.SQLSourceControl.Engine.DatabasePolling.IRunHaltingDatabasePolls.Invoke(Action action);")]
        [TestCase("private void ResetToolTips();")]
        [TestCase("private void SendContextChangedEventIfNew();")]
        [TestCase("private void SetDifferenceStateState(DifferenceStateState newState);")]
        [TestCase("private void SyncToScriptBuildBuildDBPermissionsAlter(Options options, ProgressTracker progressTracker, ScriptDatabaseInformation dbInfo, Database targetDatabase);")]
        [TestCase("private void SyncToScriptBuildConstraintsCreates(Options options, ProgressTracker progressTracker, Database targetDatabase, ScriptDatabaseInformation dbInfo);")]
        [TestCase("private void SyncToScriptBuildExtendedPropertiesCreates(Options options, Database targetDatabase, ScriptDatabaseInformation dbInfo);")]
        [TestCase("private void SyncToScriptBuildSchemaObjectAuthorizationAlters(Options options, ProgressTracker progressTracker, Database targetDatabase, ScriptDatabaseInformation dbInfo);")]
        [TestCase("private void WriteAndDisposeOfBlock();")]
        [TestCase("private Window2 GetWindowFromGuid(VisualStudioStyleGuid guid);")]
        [TestCase("private WorkItemCheckinInfo[] GetWorkItemCheckinInfos(string&  logMessage);")]
        [TestCase("public !0 get_Item(int index);")]
        [TestCase("public !0 get_Value();")]
        [TestCase("public !1 Invoke();")]
        [TestCase("public AssociatedUser get_AssociatedUser();")]
        [TestCase("public bool Deserialize(int versionId, ISerializeFormatter formatter);")]
        [TestCase("public bool Read();")]
        [TestCase("public bool RefersTo(IDatabaseObjectId databaseObjectId);")]
        [TestCase("public bool TryAddFile(string file, string comment);")]
        [TestCase("public bool TryOpenConnection(string username, string password);")]
        [TestCase("public bool WaitForBackgroundThread();")]
        [TestCase("public CancellableOperationPostProcesser`2(ICancellableOperation`1<!0> inner, Func`2<!0><!1> processer);")]
        [TestCase("public ClrAssemblyMetaData(byte[] assembly, ClrAssemblyMetaDataOptions options);")]
        [TestCase("public DatabaseConnection get_DatabaseConnection();")]
        [TestCase("public EngineDataCompareOptions get_Options();")]
        [TestCase("public FileInfo(string path);")]
        [TestCase("public GenericRemoteOperations(GenericLocation location, GenericIOFastPathOptimizer cleanOptimizer);")]
        [TestCase("public HistoryEntry(DateTime date, long revision, string user, string message, IEnumerable`1<valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2<System.String><class [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Common.Hi")]
        [TestCase("public ICollection`1<System.String> ColumnsInObject(ISqlObject obj);")]
        [TestCase("public IDifference CreateConflictedDifference(ComparisonSession session, SourceControlOperation operation, AssociatedUser associatedUser, DatabaseObjectId databaseObjectId, ICancellableOperationStatus status, IReadOnlySourceControlServerCallBacks callBack")]
        [TestCase("public IEnumerator`1<valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2<!0><!1>> GetEnumerator();")]
        [TestCase("public int GetHashCode(DatabaseObjectId obj);")]
        [TestCase("public IPersistentWorkspace CreatePersistentWorkspaceAtHead(ICancellableOperationStatus status, FolderVerifier verifier, IWorkspaceLockHandler lockHandler, string rootPathGenerator, IReadOnlySourceControlServerCallBacks callbacks, long&  revision);")]
        [TestCase("public IPersistentWorkspace CreatePersistentWorkspaceAtRevisionOfProjectFileCreation(ICancellableOperationStatus status, FolderVerifier verifier, IWorkspaceLockHandler lockHandler, string rootPathGenerator, string projectFile, IReadOnlySourceControlServer")]
        [TestCase("public object GetValue(string name);")]
        [TestCase("public static !!0 Create(Type type);")]
        [TestCase("public static !!0 Get();")]
        [TestCase("public static !!1 GetPropertyValue(!!0 instance, string property);")]
        [TestCase("public static bool TryGetFullPath(IDatabaseObject dbObject, string&  path);")]
        [TestCase("public static bool TryLoadFromIfExists(string dir, AssemblyName requestedAssemblyName, Assembly&  assembly);")]
        [TestCase("public static CastType CanCast(Field from, Field to);")]
        [TestCase("public static Dictionary`2<System.String><valuetype [RedGate.Shared.Utils]RedGate.Shared.Utils.Collections.Pair`2<System.Int32><class [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.SrcC.Common.HistoryChange>> WrapChanges(Changeset change")]
        [TestCase("public static Hash OfStream(Stream inputStream);")]
        [TestCase("public static ILogger GetLogger(string name);")]
        [TestCase("public static int CompareByText(ChangeType a, ChangeType b);")]
        [TestCase("public static ScriptDatabaseInformation LoadScriptDatabaseInfomation(string folderPath, FolderInformationErrors&  errors);")]
        [TestCase("public static Stack`1<System.String[]> GetDependencies(string sql, bool quotedIdentifiers, bool throwExceptions);")]
        [TestCase("public static string GetFullPath(IDatabaseObject dbObject);")]
        [TestCase("public static Uri ParseServerUrl(string serverUrl, string serverPort);")]
        [TestCase("public static void Contains(ICollection`1<!!0> expecteds, !!0 actual, string message);")]
        [TestCase("public static void Delete(string path);")]
        [TestCase("public static void DeleteNewestRevision(string archivesPath, string repositoryPath);")]
        [TestCase("public static void Equals(!!0 expected, !!0 actual, string message);")]
        [TestCase("public static void False(bool condition, string formatString, object[] args);")]
        [TestCase("public static void False(bool condition, string message);")]
        [TestCase("public static void LogServerInformation(VersionControlServer server, TfsLocation projectRoot);")]
        [TestCase("public static void NotEquals(!!0 notExpected, !!0 actual, string message);")]
        [TestCase("public static void RegisterWaitForSingleObject(EventWaitHandle waitObject, Action callBack, int millis, bool executeOnlyOnce);")]
        [TestCase("public static void SetClientToRepository(ClientInstance client, string repository);")]
        [TestCase("public static void True(bool condition, string formatString, object[] args);")]
        [TestCase("public static void True(bool condition, string message);")]
        [TestCase("public string get_Item(int index);")]
        [TestCase("public string[] GetFileList();")]
        [TestCase("public StructureParser get_Parser();")]
        [TestCase("public SvnServer(string projectRoot);")]
        [TestCase("public TfsLocation();")]
        [TestCase("public ThreeWayDiff BuildWithNoopResolution(ICancellableOperationStatus status, IReadOnlySourceControlServerCallBacks sourceControlUserCallBacks, ScriptDatabaseInformation folderOptions, Options comparisonOptions);")]
        [TestCase("public UIConnectionInfo GetSelectedDatabaseUIConnection();")]
        [TestCase("public void AddSQL(string sql);")]
        [TestCase("public void AddToMenuIfNeeded(object menuHandlerObject);")]
        [TestCase("public void BuildFromDifferences(Differences differences, Difference onlyDifferenceToInclude, Options options, bool runOnTwo, ScriptDatabaseInformation dbInfo);")]
        [TestCase("public void Check();")]
        [TestCase("public void CheckOutFilesWithConflictUpdate(ICancellableOperationStatus status, PathSet createdPaths, PathSet changedPaths, Set`1<class [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.ItemRevision> acknowledgedConflicts, ISourceControlUse")]
        [TestCase("public void CleanRecursive(string path);")]
        [TestCase("public void EnsureIconIsInIconIndexMap(Icon icon);")]
        [TestCase("public void EnterSerialNumber(Action`1<class [RedGate.Licensing.Client]RedGate.Licensing.Client.Licence> displayUI);")]
        [TestCase("public void Execute();")]
        [TestCase("public void GetLatest();")]
        [TestCase("public void HideToolTips();")]
        [TestCase("public void HookUpEvents();")]
        [TestCase("public void NotifyDatabaseObjectsRetrieved(IEnumerable`1<class [RedGate.SQLSourceControl.Engine]RedGate.SQLSourceControl.Engine.DatabaseObjectId> retrievedObjects, DatabaseConnection databaseConnection);")]
        [TestCase("public void NotifyInteractedWith(ObjectExplorerNode selection);")]
        [TestCase("public void OnAction();")]
        [TestCase("public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, Array&  custom);")]
        [TestCase("public void OpenNewTab(string templateFile);")]
        [TestCase("public void PopulateVersionInformation();")]
        [TestCase("public void ProcessDifferences(Differences differences, Difference onlyDifferenceToInclude, Options options, bool runOnTwo);")]
        [TestCase("public void QueryStatus(string cmdName, vsCommandStatusTextWanted neededText, vsCommandStatus&  statusOption, object&  commandText);")]
        [TestCase("public void RemoveAndDisposeLinkedDatabase(IDatabaseId databaseId);")]
        [TestCase("public void RemoveLinkedDatabase(IDatabaseId databaseId);")]
        [TestCase("public void RunWithConvertException(Action action);")]
        [TestCase("public void set_BoundValue(IHistoryEntries value);")]
        [TestCase("public void set_Html(string value);")]
        [TestCase("public void set_SQLServerDBVersion(SQLVersion value);")]
        [TestCase("public void Show(TreeNode node, Point cursorPosition, ObjectExplorerNodeVisualCue nodeVisualCue);")]
        [TestCase("public void ShowHistory(IDatabaseThingSet thingSet);")]
        [TestCase("public void Synchronize(BlockExecutor executor);")]
        [TestCase("public void Trace(string message, object[] args);")]
        [TestCase("public void UnHookEvents();")]
        [TestCase("public void UpgradeEntireProject(ICancellableOperationStatus status, long revision, IReadOnlySourceControlServerCallBacks backs, Action preAction);")]
        [TestCase("static SingleInstanceCheck();")]
        public void MethodNameIsUnchanged(string methodName)
        {
            Assert.AreEqual(methodName, BugRefUtils.MapMethodName(methodName));
        }

        [Test]
        [TestCase("private static SqlConnectionStringBuilder <.cctor>b__1(string x);", "private static SqlConnectionStringBuilder .cctor(string x);")]
        [TestCase("private static void <.ctor>b__0();", "private static void .ctor();")]
        [TestCase("private static void <EnterSerialNumberMenuItem_Click>b__3(Licence x);", "private static void EnterSerialNumberMenuItem_Click(Licence x);")]
        [TestCase("private void <.ctor>b__0();", "private void .ctor();")]
        [TestCase("private void <CleanInner>b__3b();", "private void CleanInner();")]
        [TestCase("private void <CleanInner>b__49();", "private void CleanInner();")]
        [TestCase("private void <EnterSerialNumberMenuItem_Click>b__2();", "private void EnterSerialNumberMenuItem_Click();")]
        [TestCase("private void <GetOriginVersion>b__1c();", "private void GetOriginVersion();")]
        [TestCase("private void <OnObjectExplorerSelectionChanged>b__0();", "private void OnObjectExplorerSelectionChanged();")]
        [TestCase("public ObjectExplorerNodeVisualCue <GetVisualCue>b__3();", "public ObjectExplorerNodeVisualCue GetVisualCue();")]
        [TestCase("public ThreeWayDiff <BuildWithNoopResolution>b__3();", "public ThreeWayDiff BuildWithNoopResolution();")]
        [TestCase("public void <.ctor>b__0();", "public void .ctor();")]
        [TestCase("public void <BootStrap>b__e();", "public void BootStrap();")]
        [TestCase("public void <CheckOut>b__9();", "public void CheckOut();")]
        [TestCase("public void <CheckOut>b__10();", "public void CheckOut();")]
        [TestCase("public void <CheckOut>b__16();", "public void CheckOut();")]
        [TestCase("public void <CleanInner>b__1f();", "public void CleanInner();")]
        [TestCase("public void <CleanInner>b__25();", "public void CleanInner();")]
        [TestCase("public void <Commit>b__b();", "public void Commit();")]
        [TestCase("public void <Commit>b__10();", "public void Commit();")]
        [TestCase("public void <Commit>b__15();", "public void Commit();")]
        [TestCase("public void <Commit>b__17();", "public void Commit();")]
        [TestCase("public void <Commit>b__2e();", "public void Commit();")]
        [TestCase("public void <Commit>b__36();", "public void Commit();")]
        [TestCase("public void <Commit>b__3c();", "public void Commit();")]
        [TestCase("public void <Commit>b__40();", "public void Commit();")]
        [TestCase("public void <Commit>b__54(ICancellableOperationStatus status);", "public void Commit(ICancellableOperationStatus status);")]
        [TestCase("public void <CreatePersistentWorkspaceAtRevisionOfProjectFileCreation>b__3(PersistentWorkspace persistentWorkspace);", "public void CreatePersistentWorkspaceAtRevisionOfProjectFileCreation(PersistentWorkspace persistentWorkspace);")]
        [TestCase("public void <CreateUnderlyingWorkspace>b__0();", "public void CreateUnderlyingWorkspace();")]
        [TestCase("public void <CreateUnderlyingWorkspace>b__5();", "public void CreateUnderlyingWorkspace();")]
        [TestCase("public void <CreateUnderlyingWorkspace>b__7();", "public void CreateUnderlyingWorkspace();")]
        [TestCase("public void <CreateWorkspace>b__5();", "public void CreateWorkspace();")]
        [TestCase("public void <DoActionWithCancel>b__0(object sender, EventArgs e);", "public void DoActionWithCancel(object sender, EventArgs e);")]
        [TestCase("public void <GenerateActionsAndSynchronizeAbility>b__0();", "public void GenerateActionsAndSynchronizeAbility();")]
        [TestCase("public void <GetDiffs>b__19();", "public void GetDiffs();")]
        [TestCase("public void <GetHead>b__0();", "public void GetHead();")]
        [TestCase("public void <GetHead>b__a();", "public void GetHead();")]
        [TestCase("public void <GetLastChangeRevision>b__37();", "public void GetLastChangeRevision();")]
        [TestCase("public void <GetOriginVersion>b__f();", "public void GetOriginVersion();")]
        [TestCase("public void <GetOriginVersion>b__15();", "public void GetOriginVersion();")]
        [TestCase("public void <GetOriginVersion>b__16();", "public void GetOriginVersion();")]
        [TestCase("public void <GetOriginVersion>b__1c();", "public void GetOriginVersion();")]
        [TestCase("public void <GetOriginVersion>b__2d();", "public void GetOriginVersion();")]
        [TestCase("public void <GetScriptActions>b__3();", "public void GetScriptActions();")]
        [TestCase("public void <HandleNavigableItem>b__0();", "public void HandleNavigableItem();")]
        [TestCase("public void <IsUpToDate>b__14(object sender, SvnStatusEventArgs e);", "public void IsUpToDate(object sender, SvnStatusEventArgs e);")]
        [TestCase("public void <NotifyDelete>b__6();", "public void NotifyDelete();")]
        [TestCase("public void <NotifyRename>b__d();", "public void NotifyRename();")]
        [TestCase("public void <OnAddInsUpdate>b__5();", "public void OnAddInsUpdate();")]
        [TestCase("public void <OnBeginShutdown>b__11();", "public void OnBeginShutdown();")]
        [TestCase("public void <OnConnection>b__2();", "public void OnConnection();")]
        [TestCase("public void <OnDisconnection>b__14();", "public void OnDisconnection();")]
        [TestCase("public void <RunWithHandlingNonFatalErrors>b__4(object sender, ExceptionEventArgs e);", "public void RunWithHandlingNonFatalErrors(object sender, ExceptionEventArgs e);")]
        [TestCase("public void <SyncToLive>b__7();", "public void SyncToLive();")]
        [TestCase("public void <SyncToLive>b__c();", "public void SyncToLive();")]
        [TestCase("public void <SyncToLive>b__f();", "public void SyncToLive();")]
        [TestCase("public void <SyncToLive>b__13();", "public void SyncToLive();")]
        [TestCase("public void <SyncToLive>b__16();", "public void SyncToLive();")]
        [TestCase("public void <Update>b__0();", "public void Update();")]
        [TestCase("public void <UpgradePathsToRevision>b__3();", "public void UpgradePathsToRevision();")]
        [TestCase("public void <UpgradePathsToRevision>b__f();", "public void UpgradePathsToRevision();")]
        [TestCase("public void <UpgradePathsToRevision>b__11();", "public void UpgradePathsToRevision();")]
        [TestCase("public void <VerifyConnection>b__0();", "public void VerifyConnection();")]
        [TestCase("public void <VerifyConnection>b__7();", "public void VerifyConnection();")]
        [TestCase("public void <VerifyConnection>b__18();", "public void VerifyConnection();")]
        [TestCase("public void <VerifyConnection>b__20();", "public void VerifyConnection();")]
        [TestCase("public void <VerifyConnection>b__22();", "public void VerifyConnection();")]
        [TestCase("public void <WithTfs>b__0();", "public void WithTfs();")]
        public void MethodNameIs(string methodName, string expectedMethodName)
        {
            Assert.AreEqual(expectedMethodName, BugRefUtils.MapMethodName(methodName));
        }
    }
}
